The present invention relates to the field of software testing.
ECLIPSE is an open-source software framework based on the Rich Client Platform (RCP) that utilizes discrete elements called “plug-ins” to extend its capabilities. ECLIPSE is often used as a software integrated development environment (IDE) used in the development of ECLIPSE-based applications. An ECLIPSE-based application, therefore, consists of a myriad of plug-ins that provides the application's functionality. Plug-ins are grouped with elements that handle input/output language translation called “fragments” to comprise a “feature”. Every feature contained in the ECLIPSE-based application must be available and properly versioned in order for the application to function properly. Missing, corrupted, or improperly versioned features perpetrate a multitude of configuration errors within the application.
Further, elements called “feature patches” are used to update the existing features of an application, similar to the patching process of non-ECLIPSE-based software applications. Feature patches must also adhere to the same rules of versioning, availability, and dependencies in order to properly update their corresponding feature. The failure of a feature patch to properly install typically goes unnoticed by a user and simply causes additional application errors due to the improper configuration.
While there are a variety of tools available that test the software code of plug-ins for functionality, there is currently a lack of an automated tool that detects configuration problems between the various features and feature patches that comprise an ECLIPSE-based application. The ECLIPSE framework does not contain an inherent utility feature that addresses this issue. Therefore, the only option available at present is to manually verify every feature and feature patch of an ECLIPSE-based application. For a small application, this is an adequate solution. However, most ECLIPSE-based applications consist of hundreds or thousands of features and feature patches, which render a manual process inefficient, time-consuming, and excessively costly. This large quantity of features and feature patches also makes it impossible to address this issue within the formal testing cycle of the software application.
What is needed is an automated solution that detects configuration problems in an ECLIPSE-based software application. That is, the solution would automatically analyze all the features and feature patches of an ECLIPSE-based application to determine the existence of configuration errors and/or concerns. Ideally, such a solution would provide a report of any identified configuration problems with recommended resolutions.